]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
layout: Fix regressions
authorAdel Gadllah <adel.gadllah@gmail.com>
Mon, 18 Feb 2013 12:14:42 +0000 (13:14 +0100)
committerAdel Gadllah <adel.gadllah@gmail.com>
Mon, 18 Feb 2013 13:13:37 +0000 (14:13 +0100)
Commit 6b4f52462071dc9af5b8915afebc8bc340b49ca2 removed the layer checks
_updateFullscreen ... this causes corruption when alt-tabbing out
of a fullscreen window so restore the check.

The commit also removed the screen sized check so we are no longer
setting all monitors to fullscreen. Fix that as well by using
window.is_screen_sized() to perform the check.

https://bugzilla.gnome.org/show_bug.cgi?id=694079

js/ui/layout.js

index 1a9a328a77222a64c3163ea86db46aca55361be6..d855ade6b52b4363c56325326e9ed837bc6bf26d 100644 (file)
@@ -776,10 +776,16 @@ const LayoutManager = new Lang.Class({
             if (!metaWindow.showing_on_its_workspace())
                 continue;
 
-            if (metaWindow.is_monitor_sized()) {
-                let monitor = this.monitors[metaWindow.get_monitor()];
-                if (monitor)
-                    monitor.inFullscreen = true;
+            if (layer == Meta.StackLayer.FULLSCREEN ||
+               (layer == Meta.StackLayer.OVERRIDE_REDIRECT && metaWindow.is_monitor_sized())) {
+                if (metaWindow.is_screen_sized()) {
+                    for (let i = 0; i < this.monitors.length; i++)
+                        this.monitors[i].inFullscreen = true;
+                } else {
+                    let monitor = this.monitors[metaWindow.get_monitor()];
+                    if (monitor)
+                        monitor.inFullscreen = true;
+                }
             }
         }
     },